package com.fjwt.gz.db.dto;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fjwt.gz.db.bo.ActivityUserTimesBO;
import com.fjwt.gz.db.entity.FansAuthEntity;
import com.fjwt.gz.db.entity.FansEntity;
import lombok.Data;

/**
 * <p>
 * 会员浏览/参与活动记录表
 * </p>
 *
 * @author shiyonghao
 * @since 2025-04-09
 */
@Data
public class FansActivityDTO {

    /**
     * 主键
     */
    private Long fansActivityId;

    /**
     * 用户ID
     */
    private Long fansId;

    /**
     * 用户ID
     */
    private Long agentFansId;

    /**
     * 用户昵称
     */
    private String nickname;

    /**
     * 手机号
     */
    private String phone;


    /**
     * 用户ID
     */
    private Long shareFansId;

    /**
     * 活动模板ID
     */
    private String activityTemplateNo;

    /**
     * 额外信息Json
     */
    private String extJson;

    /**
     * 应用appid
     */
    private String appId;

    /**
     * 活动ID
     */
    private Long activityId;

    /**
     * 活动名称
     */
    private String activityName;

    /**
     * 分享记录ID
     */
    private Integer shareRecordId;

    /**
     * 0自然流量

1转发朋友/群 ，对应字段有：
 activity_id,inviter_id

2公众号渠道码 ，对应字段有：
 activity_channel_id，activity_id,

3微信广告，对应字段有：
 activity_id

 4扫码领券 ，对应字段有：
  activityId,inviter_id

5分享到朋友圈 ，对应字段有：
 activity_id, inviter_id
     */
    private Integer joinType;

    /**
     * 活动公众号渠道码ID
     */
    private Long activityChannelId;

    /**
     * 邀请用户ID (fans_id)

0自然流量

1转发朋友/群 ，对应字段有：
 activity_id,inviter_id

2公众号渠道码 ，对应字段有：
 activity_channel_id，activity_id,

3微信广告，对应字段有：
 activity_id

 4扫码领券 ，对应字段有：
  activityId,inviter_id

5分享到朋友圈 ，对应字段有：
 activity_id, inviter_id
     */
    private Long inviterId;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdAt;

    /**
     * 机构号
     */
    private String agentNo;
    /**
     * 机构号
     */
    private String locationAgentNo;

    /**
     * 是否轮询状态 0：否 1：是
     */
    private Integer isLoop;

    /**
     * 缓存数据过期时间
     */
    private Long redisOutTime;

    /**
     * 活动结束时间
     */
    private Date activityEndTime;

    /**
     * 用户信息
     */
    private FansEntity fansEntity;

    /**
     * 用户实名信息
     */
    private FansAuthEntity fansAuthEntity;

    /**
     * 用户参与限制信息
     */
    private ActivityUserTimesBO activityUserTimesBO;

    /**
     * 用户是否参与福分奖励
     */
    private Boolean firstJoin;

    /**
     * 用户参与活动时间
     */
    private Long startTime;

    /**
     * 用户加入队列时间
     */
    private Long joinQueueTime;

    /**
     * 奖品id
     */
    private Long awardId;

    /**
     * 奖品类型
     */
    private Integer awardType;

    /**
     * 记录id
     */
    private Long qrcodeRecordId;

    private List<String> agentNos;
}
